home *** CD-ROM | disk | FTP | other *** search
/ Die Speccy' 97 / Die Speccy' 97.iso / amiga_system / the_aminet / comm / bbs / bbbbs85.lha / rexx / bbsSpeak.rexx < prev    next >
OS/2 REXX Batch file  |  1993-11-11  |  3KB  |  118 lines

  1. /* bbsSpeak.rexx 6.6 (11.11.93)
  2. Handles speach for BBBBS - Edit this file to your preferences.
  3. */
  4.  
  5. IF GETCLIP('BBS_NOISE')='OFF' THEN EXIT
  6.  
  7. PARSE ARG com name bbspath saypath .
  8.  
  9. DO i=1 TO 10 WHILE GETCLIP('BBS_Sounding')~=''
  10.   CALL DELAY(100)
  11. END
  12. CALL SETCLIP('BBS_Sounding',com)
  13.  
  14. IF com='LOGON'        THEN CALL logon()
  15. IF com='CHAT'         THEN CALL chat()
  16. IF com='FILE_REQUEST' THEN CALL file_request()
  17.  
  18. CALL SETCLIP('BBS_Sounding')
  19. EXIT
  20.  
  21.  
  22. logon:
  23. sp1='Yo sissop.'
  24. sp2=TRANSLATE(name,' ','_')'.'
  25. sp3='has logged awon.'
  26. IF SHOWLIST('H','SPEAK') THEN
  27.   DO
  28.     IF writeopen('SPEAK:')~=0 THEN
  29.       DO
  30.         CALL WRITELN(f,sp1)
  31.         DO i=1 TO WORDS(sp2)
  32.           CALL DELAY(14)
  33.           CALL WRITELN(f,WORD(sp2,i))
  34.         END
  35.         CALL DELAY(14)
  36.         CALL WRITELN(f,sp3)
  37.         CALL CLOSE(f)
  38.       END
  39.   END
  40. ELSE IF EXISTS(saypath) THEN
  41.   DO
  42.     ADDRESS COMMAND saypath sp1
  43.     DO i=1 TO WORDS(sp2)
  44.       ADDRESS COMMAND saypath WORD(sp2,i)
  45.     END
  46.     ADDRESS COMMAND saypath sp3
  47.   END
  48. RETURN
  49.  
  50.  
  51. chat:
  52. CALL DELAY(100)
  53. sp1='Yo sissop.'
  54. sp2=TRANSLATE(name,' ','_')'.'
  55. sp3='wants to chat with you.'
  56. IF SHOWLIST('H','SPEAK') THEN  /* check on SPEAK: device */
  57.   DO
  58.     IF EXISTS(bbspath'BBS_TEXT/YELL') THEN /* we have yell file */
  59.       ADDRESS COMMAND 'C:Run C:Type >SPEAK:' bbspath'BBS_TEXT/YELL'
  60.     ELSE IF writeopen('SPEAK:')~=0 THEN
  61.       DO
  62.         CALL WRITELN(f,sp1)
  63.         DO i=1 TO WORDS(sp2)
  64.           CALL DELAY(14)
  65.           CALL WRITELN(f,WORD(sp2,i))
  66.         END
  67.         CALL DELAY(14)
  68.         CALL WRITELN(f,sp3)
  69.         CALL WRITELN(f,sp1)
  70.         CALL CLOSE(f)
  71.       END
  72.   END
  73. ELSE IF EXISTS(saypath) THEN          /* default to SAY */
  74.   DO
  75.     IF EXISTS(bbspath'BBS_TEXT/YELL') THEN /* we have yell file */
  76.       ADDRESS COMMAND 'C:Run' saypath '-x' bbspath'BBS_TEXT/YELL'
  77.     ELSE
  78.       DO
  79.         ADDRESS COMMAND saypath sp1
  80.         DO i=1 TO WORDS(sp2)
  81.           ADDRESS COMMAND saypath WORD(sp2,i)
  82.         END
  83.         ADDRESS COMMAND saypath sp3
  84.         ADDRESS COMMAND saypath sp1
  85.       END
  86.   END
  87. RETURN
  88.  
  89.  
  90. file_request:
  91. sp1='Yo sissop.'
  92. sp2='a file is being re kwested.'
  93. IF SHOWLIST('H','SPEAK') THEN
  94.   DO
  95.     IF writeopen('SPEAK:')~=0 THEN
  96.       DO
  97.         CALL WRITELN(f,sp1)
  98.         CALL WRITELN(f,sp2)
  99.         CALL CLOSE(f)
  100.       END
  101.   END
  102. ELSE IF EXISTS(saypath) THEN
  103.   DO
  104.     ADDRESS COMMAND saypath sp1
  105.     ADDRESS COMMAND saypath sp2
  106.   END
  107. RETURN
  108.  
  109.  
  110. writeopen:
  111. PARSE ARG fname
  112. CALL CLOSE(f)
  113. ok=OPEN(f,fname,'W')
  114. IF ok=0 THEN RETURN 0
  115. RETURN 1
  116.  
  117. /* bbsSpeak.rexx */
  118.